<?php

App::uses('AppController', 'Controller');

/**
 * Clients Controller
 *
 * @property Client $Client
 * @property PaginatorComponent $Paginator
 */
class ClientsController extends AppController {

    /**
     * Components
     *
     * @var array
     */
    public $components = array('Paginator');

    /**
     * add method
     *
     * @return void
     */
    public function add_simples() {
        $this->layout = 'breve';
        if ($this->request->is('post')) {
            if ($this->{$this->modelClass}->save($this->request->data)) {
                $this->Session->setFlash(__('%s cadastrado com sucesso.', 'Cliente'), 'alert', array('plugin' => 'BoostCake', 'class' => 'alert-success'));
                return $this->redirect('/');
            } else {
                $this->Session->setFlash(__('Não foi possível cadastrar o %s.', 'Cliente'), 'alert', array('plugin' => 'BoostCake', 'class' => 'alert-danger'));
            }
        }
        $this->set('title_for_layout', __($this->modelClass) . ' - ' . __('New'));
    }

    /**
     * add method
     *
     * @return void
     */
    public function add() {
        if ($this->request->is('post')) {
            $this->loadModel('User');
            $this->loadModel('Client');
            $this->request->data['User']['active'] = 1;
            $this->request->data['User']['role'] = 'customer';
            $this->request->data['User']['name'] = $this->request->data['Client']['first_name'] . ' ' . $this->request->data['Client']['last_name'];

            $this->User->set($this->request->data);
            $this->Client->set($this->request->data);

            if ($this->Client->validates() AND $this->User->validates()) {
                if ($this->User->save($this->request->data)) {
                    $this->request->data['Client']['user_id'] = $this->User->id;
                    if ($this->Client->save($this->request->data)) {
                        $this->Session->setFlash(__('%s cadastrado com sucesso.', __($this->modelClass)), 'alert', array('plugin' => 'BoostCake', 'class' => 'alert-success'));
                        return $this->redirect($this->referer());
                    } else {
                        $this->Session->setFlash(__('Não foi possível cadastrar o %s.', __($this->modelClass)), 'alert', array('plugin' => 'BoostCake', 'class' => 'alert-danger'));
                    }
                } else {
                    $this->Session->setFlash(__('Não foi possível cadastrar o %s.', __('User')), 'alert', array('plugin' => 'BoostCake', 'class' => 'alert-danger'));
                }
            } else {
                $this->Session->setFlash(__('Não foi possível cadastrar o %s.', __('User')), 'alert', array('plugin' => 'BoostCake', 'class' => 'alert-danger'));
            }
        }
        $this->set('title_for_layout', __($this->modelClass) . ' - ' . __('New'));
    }

}
